package com.ruoyi.employer.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.driver.domain.CarownerUsecar;
import com.ruoyi.driver.domain.CarownerVehiclelengh;
import com.ruoyi.driver.domain.CarownerVehicletype;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 货源详情对象 cargo_source_details
 * 
 * @author adf
 * @date 2024-08-14
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CargoSourceDetails extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 装车时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "装车时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date loadTime;

    /** 发货人信息ID */
    @Excel(name = "发货人信息ID")
    private Long consignerId;

    /** 发货人信息 */
    @Excel(name = "发货人信息")
    private CargoConsigner consigner;

    /** 收货人信息ID */
    @Excel(name = "收货人信息ID")
    private Long consigneeId;

    /** 收货人信息 */
    @Excel(name = "收货人信息")
    private CargoConsignee consignee;

    /** 起点 */
    @Excel(name = "起点")
    private String startPoint;

    /** 终点 */
    @Excel(name = "终点")
    private String endPoint;

    /** 货主ID */
    @Excel(name = "货主ID")
    private Long cargoUserId;

    /** 货主信息 */
    @Excel(name = "货主信息")
    private CargoUser cargoUser;

    /** 货物信息ID */
    @Excel(name = "货物信息ID")
    private Long goodsId;

    /** 货物信息 */
    @Excel(name = "货物信息")
    private CargoGoods cargoGoods;

    /*包装方式*/
    private CargoWrap cargoWrap;

    /** 货物类型 */
    @Excel(name = "货物类型")
    private CargoGoodstype cargoGoodstype;

    /** 用车类型ID */
    @Excel(name = "用车类型ID")
    private Long useCarId;

    /** 用车类型 */
    @Excel(name = "用车类型")
    private CarownerVehicletype carownerVehicletype;

    /** 运输类型ID */
    @Excel(name = "运输类型")
    private String traffic;

    /** 运输费用 */
    @Excel(name = "运输费用")
    private BigDecimal expenses;

    /** 支付方式 */
    @Excel(name = "支付方式")
    private String payMethod;

    /** 货源状态 */
    @Excel(name = "货源状态")
    private String status;

    /** 其他需要，如发票、保险金等 */
    @Excel(name = "其他需要，如发票、保险金等")
    private String other;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    /** 逻辑删除标记，0表示未删除，1表示已删除 */
    private Long del;

    /*用车类型表*/
    private CarownerUsecar carownerUsecar;

    /*车辆长度表*/
    private CarownerVehiclelengh carownerVehiclelengh;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setLoadTime(Date loadTime) 
    {
        this.loadTime = loadTime;
    }

    public Date getLoadTime() 
    {
        return loadTime;
    }
    public void setConsignerId(Long consignerId) 
    {
        this.consignerId = consignerId;
    }

    public Long getConsignerId() 
    {
        return consignerId;
    }
    public void setConsigneeId(Long consigneeId) 
    {
        this.consigneeId = consigneeId;
    }

    public Long getConsigneeId() 
    {
        return consigneeId;
    }
    public void setStartPoint(String startPoint) 
    {
        this.startPoint = startPoint;
    }

    public String getStartPoint() 
    {
        return startPoint;
    }
    public void setEndPoint(String endPoint) 
    {
        this.endPoint = endPoint;
    }

    public String getEndPoint() 
    {
        return endPoint;
    }
    public void setCargoUserId(Long cargoUserId) 
    {
        this.cargoUserId = cargoUserId;
    }

    public Long getCargoUserId() 
    {
        return cargoUserId;
    }
    public void setGoodsId(Long goodsId) 
    {
        this.goodsId = goodsId;
    }

    public Long getGoodsId() 
    {
        return goodsId;
    }
    public void setUseCarId(Long useCarId) 
    {
        this.useCarId = useCarId;
    }

    public Long getUseCarId() 
    {
        return useCarId;
    }
    public void setTraffic(String traffic)
    {
        this.traffic = traffic;
    }

    public String getTraffic()
    {
        return traffic;
    }
    public void setExpenses(BigDecimal expenses) 
    {
        this.expenses = expenses;
    }

    public BigDecimal getExpenses() 
    {
        return expenses;
    }
    public void setPayMethod(String payMethod) 
    {
        this.payMethod = payMethod;
    }

    public String getPayMethod() 
    {
        return payMethod;
    }
    public void setOther(String other) 
    {
        this.other = other;
    }

    public String getOther() 
    {
        return other;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }
    public void setDel(Long del) 
    {
        this.del = del;
    }

    public Long getDel() 
    {
        return del;
    }

    public CargoConsigner getConsigner() {
        return consigner;
    }

    public void setConsigner(CargoConsigner consigner) {
        this.consigner = consigner;
    }

    public CargoConsignee getConsignee() {
        return consignee;
    }

    public void setConsignee(CargoConsignee consignee) {
        this.consignee = consignee;
    }

    public CargoUser getCargoUser() {
        return cargoUser;
    }

    public void setCargoUser(CargoUser cargoUser) {
        this.cargoUser = cargoUser;
    }

    public CargoGoods getCargoGoods() {
        return cargoGoods;
    }

    public void setCargoGoods(CargoGoods cargoGoods) {
        this.cargoGoods = cargoGoods;
    }

    public CarownerVehicletype getCarownerVehicletype() {
        return carownerVehicletype;
    }

    public void setCarownerVehicletype(CarownerVehicletype carownerVehicletype) {
        this.carownerVehicletype = carownerVehicletype;
    }

    @Override
    public String toString() {
        return "CargoSourceDetails{" +
                "id=" + id +
                ", loadTime=" + loadTime +
                ", consignerId=" + consignerId +
                ", consigner=" + consigner +
                ", consigneeId=" + consigneeId +
                ", consignee=" + consignee +
                ", startPoint='" + startPoint + '\'' +
                ", endPoint='" + endPoint + '\'' +
                ", cargoUserId=" + cargoUserId +
                ", cargoUser=" + cargoUser +
                ", goodsId=" + goodsId +
                ", cargoGoods=" + cargoGoods +
                ", useCarId=" + useCarId +
                ", carownerVehicletype=" + carownerVehicletype +
                ", traffic=" + traffic +
                ", expenses=" + expenses +
                ", payMethod='" + payMethod + '\'' +
                ", other='" + other + '\'' +
                ", remarks='" + remarks + '\'' +
                ", del=" + del +
                '}';
    }
}
